#ifndef GUI_H
#define GUI_H

#include <gtkmm.h>

class VentanaPrincipal : public Gtk::Window {
	public:
		VentanaPrincipal();
	private:
		void agregarRegistros(Gtk::Table *table);
		void accionEjecutar();
		void accionProxima();
		void accionParar();
		void accionResetear();
		bool avanzarSimulacion();
		void reiniciarSimulacion();
		struct s_widget_info {
			const char *name;
			int left, right, top, bottom;
			Gtk::Entry *entry;
			int width;
		};
		Gtk::Entry *registro_a_, *registro_b_, *registro_c_, *registro_d_,
		           *registro_e_, *registro_h_, *registro_l_, *registro_psw_,
		           *registro_sp_, *registro_pc_, *registro_m_;
		Gtk::ListViewText *codigo_;
		sigc::connection timer_;
};

#endif
